Typically, when a processing device is turned on, a boot sequence is initiated to load an operating system, firmware image, and/or a software application from a high-capacity memory such as a NAND flash into the device's main memory, such as a random access memory (RAM). Integrated into the operating system, firmware image, and/or software application is typically a driver that is used to control and monitor the functionality of the high-capacity memory. The driver portion is typically specific to a particular type, brand, or release of high-capacity memory because each type, brand, or release of the memory requires its own unique set of instructions and/or has certain control or monitoring requirements. In addition to loading the memory driver, the boot sequence also loads the software application, firmware image, and/or operating system that is used to control operations performed by the device.
Commercially available processing devices are generally produced in large quantities, often using the same operating system, firmware image, and/or software application over time. For example, the same firmware image may be included in iPod™ handheld devices, available from Apple Computer of Cupertino, Calif., or other similar devices between releases of updated versions of the underlying operating system or application software for the device. Thus, the firmware image may remain unchanged for many months—even a year or more—at a time. There is therefore little if any need for a manufacturer to update the portion of the operating system, firmware image, and/or software application that is used to load the operating system.
Hardware components for the devices can be selected by the manufacturer based on factors that may change over time, such as differences in cost, ability to fill orders, and/or quality between components from a variety of manufacturers. When the manufacturing specifications of a component, such as the high capacity memory, is changed or updated, it typically is necessary to update the corresponding driver for the memory. This change in the driver necessitates a reconfiguration of the entire software application, firmware image, and/or operating system so that the updated driver is integrated into the reconfigured software application, firmware image, and/or operating system.